#pragma once

#include "Map.h"

namespace Gw2API{

struct evtStat{
	std::string event_id, state;
	int world_id, map_id;
};

typedef struct evtStat evtStat;

class World
{
public:
	World(std::string *id=0, std::string *name=0);
	~World(void);

	//returns a strPtr to the world's name
	std::string* getName(){return &world_name;}

	//returns a strPtr to the world's id
	int getId(){return world_id;}

	//returns a vectorPtr with the world's maps
	std::vector<Map>* getMaps(){return &maps;}

	//updates the world events with a vector returned by a call to EventStateRequest use EVENT_UPDATE_* macros for error checking
	int updateEventStats(std::vector<evtStat>);

private:
	std::string world_name;
	int world_id;
	std::vector<Map> maps;
};

};